home *** CD-ROM | disk | FTP | other *** search
/ Trading on the Edge / Trading On The Edge - CD-ROM Toolkit (Wayzata Technology)(2031)(1994).bin / mac / Mac_Files / Vendor Demos / Mathematica / MathReader / MathReader 2.1 / MathReader 2.1.rsrc / TEXT_287_PS header.txt < prev    next >
Text File  |  1992-08-16  |  10KB  |  1,135 lines

  1. 100 dict begin
  2. /Mfixwid true def
  3. /Mrot 0 def
  4. /Mpstart {
  5.     MathPictureStart
  6. } bind def
  7. /Mpend {
  8.     MathPictureEnd
  9. } bind def
  10. /Mscale {
  11.     0 1 0 1
  12.     5 -1 roll
  13.     MathScale
  14. } bind def
  15. /Plain    /Courier findfont def
  16. /Bold    /Courier-Bold findfont def
  17. /Italic /Courier-Oblique findfont def
  18. /MathPictureStart {
  19.     /Mimatrix
  20.      matrix currentmatrix
  21.     def
  22.     gsave
  23.     newpath
  24.     Mleft
  25.     Mbottom
  26.     translate
  27.     1 -1 scale
  28.     /Mtmatrix
  29.     matrix currentmatrix
  30.     def
  31.     Plain
  32.     Mfontsize scalefont
  33.     setfont
  34.     0 setgray
  35.     0 setlinewidth
  36. } bind def
  37. /MathPictureEnd {
  38.     grestore
  39. } bind def
  40. /MathSubStart {
  41.         Mgmatrix Mtmatrix
  42.         Mleft Mbottom
  43.         Mwidth Mheight
  44.         8 -2 roll
  45.         moveto
  46.         Mtmatrix setmatrix
  47.         currentpoint
  48.         Mgmatrix setmatrix
  49.         10 -2 roll
  50.         moveto
  51.         Mtmatrix setmatrix
  52.         currentpoint
  53.         2 copy translate
  54.         /Mtmatrix matrix currentmatrix def
  55.         /Mleft 0 def
  56.         /Mbottom 0 def
  57.         3 -1 roll
  58.         exch sub
  59.         /Mheight exch def
  60.         sub
  61.         /Mwidth exch def
  62. } bind def
  63. /MathSubEnd {
  64.         /Mheight exch def
  65.         /Mwidth exch def
  66.         /Mbottom exch def
  67.         /Mleft exch def
  68.         /Mtmatrix exch def
  69.         dup setmatrix
  70.         /Mgmatrix exch def
  71. } bind def
  72. /Mdot {
  73.     moveto
  74.     0 0 rlineto
  75.     stroke
  76. } bind def
  77. /Mtetra {
  78.     moveto
  79.     lineto
  80.     lineto
  81.     lineto
  82.     fill
  83. } bind def
  84. /Metetra {
  85.     moveto
  86.     lineto
  87.     lineto
  88.     lineto
  89.     closepath
  90.     gsave
  91.     fill
  92.     grestore
  93.     0 setgray
  94.     stroke
  95. } bind def
  96. /Mistroke {
  97.     flattenpath
  98.     0 0 0
  99.     {
  100.     4 2 roll
  101.     pop pop
  102.     }
  103.     {
  104.     4 -1 roll
  105.     2 index
  106.     sub dup mul
  107.     4 -1 roll
  108.     2 index
  109.     sub dup mul
  110.     add sqrt
  111.     4 -1 roll
  112.     add
  113.     3 1 roll
  114.     }
  115.     {
  116.     stop
  117.     }
  118.     {
  119.     stop
  120.     }
  121.     pathforall
  122.     pop pop
  123.     currentpoint
  124.     stroke
  125.     moveto
  126.     currentdash
  127.     3 -1 roll
  128.     add
  129.     setdash
  130. } bind def
  131. /Mfstroke {
  132.     stroke
  133.     currentdash
  134.     pop 0
  135.     setdash
  136. } bind def
  137. /Mrotsboxa {
  138.     gsave
  139.     dup
  140.     /Mrot
  141.     exch def
  142.     Mrotcheck
  143.     Mtmatrix
  144.     dup
  145.     setmatrix
  146.     7 1 roll
  147.     4 index
  148.     4 index
  149.     translate
  150.     rotate
  151.     3 index
  152.     -1 mul
  153.     3 index
  154.     -1 mul
  155.     translate
  156.     /Mtmatrix
  157.     matrix
  158.     currentmatrix
  159.     def
  160.     grestore
  161.     Msboxa
  162.     3  -1 roll
  163.     /Mtmatrix
  164.     exch def
  165.     /Mrot
  166.     0 def
  167. } bind def
  168. /Msboxa {
  169.     newpath
  170.     5 -1 roll
  171.     Mvboxa
  172.     pop
  173.     Mboxout
  174.     6 -1 roll
  175.     5 -1 roll
  176.     4 -1 roll
  177.     Msboxa1
  178.     5 -3 roll
  179.     Msboxa1
  180.     Mboxrot
  181.     [
  182.     7 -2 roll
  183.     2 copy
  184.     [
  185.     3 1 roll
  186.     10 -1 roll
  187.     9 -1 roll
  188.     ]
  189.     6 1 roll
  190.     5 -2 roll
  191.     ]
  192. } bind def
  193. /Msboxa1 {
  194.     sub
  195.     2 div
  196.     dup
  197.     2 index
  198.     1 add
  199.     mul
  200.     3 -1 roll
  201.     -1 add
  202.     3 -1 roll
  203.     mul
  204. } bind def
  205. /Mvboxa    {
  206.     Mfixwid
  207.     {
  208.     Mvboxa1
  209.     }
  210.     {
  211.     dup
  212.     Mwidthcal
  213.     0 exch
  214.     {
  215.     add
  216.     }
  217.     forall
  218.     exch
  219.     Mvboxa1
  220.     4 index
  221.     7 -1 roll
  222.     add
  223.     4 -1 roll
  224.     pop
  225.     3 1 roll
  226.     }
  227.     ifelse
  228. } bind def
  229. /Mvboxa1 {
  230.     gsave
  231.     newpath
  232.     [ true
  233.     3 -1 roll
  234.     {
  235.     Mbbox
  236.     5 -1 roll
  237.     {
  238.     0
  239.     5 1 roll
  240.     }
  241.     {
  242.     7 -1 roll
  243.     exch sub
  244.     (m) stringwidth pop
  245.     .3 mul
  246.     sub
  247.     7 1 roll
  248.     6 -1 roll
  249.     4 -1 roll
  250.     Mmin
  251.     3 -1 roll
  252.     5 index
  253.     add
  254.     5 -1 roll
  255.     4 -1 roll
  256.     Mmax
  257.     4 -1 roll
  258.     }
  259.     ifelse
  260.     false
  261.     }
  262.     forall
  263.     { stop } if
  264.     counttomark
  265.     1 add
  266.     4 roll
  267.     ]
  268.     grestore
  269. } bind def
  270. /Mbbox {
  271.     0 0 moveto
  272.     false charpath
  273.     flattenpath
  274.     pathbbox
  275.     newpath
  276. } bind def
  277. /Mmin {
  278.     2 copy
  279.     gt
  280.     { exch } if
  281.     pop
  282. } bind def
  283. /Mmax {
  284.     2 copy
  285.     lt
  286.     { exch } if
  287.     pop
  288. } bind def
  289. /Mrotshowa {
  290.     dup
  291.     /Mrot
  292.     exch def
  293.     Mrotcheck
  294.     Mtmatrix
  295.     dup
  296.     setmatrix
  297.     7 1 roll
  298.     4 index
  299.     4 index
  300.     translate
  301.     rotate
  302.     3 index
  303.     -1 mul
  304.     3 index
  305.     -1 mul
  306.     translate
  307.     /Mtmatrix
  308.     matrix
  309.     currentmatrix
  310.     def
  311.     Mgmatrix setmatrix
  312.     Mshowa
  313.     /Mtmatrix
  314.     exch def
  315.     /Mrot 0 def
  316. } bind def
  317. /Mshowa {
  318.     4 -2 roll
  319.     moveto
  320.     2 index
  321.     Mtmatrix setmatrix
  322.     Mvboxa
  323.     7 1 roll
  324.     Mboxout
  325.     6 -1 roll
  326.     5 -1 roll
  327.     4 -1 roll
  328.     Mshowa1
  329.     4 1 roll
  330.     Mshowa1
  331.     rmoveto
  332.     currentpoint
  333.     Mfixwid
  334.     {
  335.     Mshowax
  336.     }
  337.     {
  338.     Mshoway
  339.     }
  340.     ifelse
  341.     pop pop pop pop
  342.     Mgmatrix setmatrix
  343. } bind def
  344. /Mshowax {
  345.     0 1
  346.         4 index length
  347.         -1 add
  348.         {
  349.         2 index
  350.         4 index
  351.         2 index
  352.         get
  353.         3 index
  354.         add
  355.         moveto
  356.         4 index
  357.         exch get
  358.         show
  359.         } for
  360. } bind def
  361. /Mshoway {
  362.         3 index
  363.         Mwidthcal
  364.         5 1 roll
  365.     0 1
  366.     4 index length
  367.     -1 add
  368.     {
  369.     2 index
  370.     4 index
  371.     2 index
  372.     get
  373.     3 index
  374.     add
  375.     moveto
  376.     4 index
  377.     exch get
  378.     [
  379.     6 index
  380.     aload
  381.     length
  382.     2 add
  383.     -1 roll
  384.     {
  385.     pop
  386.     Strform
  387.     stringwidth
  388.     pop
  389.     neg
  390.     exch
  391.     add
  392.     0 rmoveto
  393.     }
  394.     exch
  395.     kshow
  396.     cleartomark
  397.     } for
  398.     pop
  399. } bind def
  400. /Mwidthcal {
  401.     [
  402.     exch
  403.     {
  404.     Mwidthcal1
  405.     }
  406.     forall
  407.     ]
  408.     [
  409.     exch
  410.     dup
  411.     Maxlen
  412.     -1 add
  413.     0 1
  414.     3 -1 roll
  415.     {
  416.     [
  417.     exch
  418.     2 index
  419.     {
  420.     1 index
  421.     Mget
  422.     exch
  423.     }
  424.     forall
  425.     pop
  426.     Maxget
  427.     exch
  428.     }
  429.     for
  430.     pop
  431.     ]
  432.     Mreva
  433. } bind def
  434. /Mreva    {
  435.     [
  436.     exch
  437.     aload
  438.     length
  439.     -1 1
  440.     {1 roll}
  441.     for
  442.     ]
  443. } bind def
  444. /Mget    {
  445.     1 index
  446.     length
  447.     -1 add
  448.     1 index
  449.     ge
  450.     {
  451.     get
  452.     }
  453.     {
  454.     pop pop
  455.     0
  456.     }
  457.     ifelse
  458. } bind def
  459. /Maxlen    {
  460.     [
  461.     exch
  462.     {
  463.     length
  464.     }
  465.     forall
  466.     Maxget
  467. } bind def
  468. /Maxget    {
  469.     counttomark
  470.     -1 add
  471.     1 1
  472.     3 -1 roll
  473.     {
  474.     pop
  475.     Mmax
  476.     }
  477.     for
  478.     exch
  479.     pop
  480. } bind def
  481. /Mwidthcal1 {
  482.     [
  483.     exch
  484.     {
  485.     Strform
  486.     stringwidth
  487.     pop
  488.     }
  489.     forall
  490.     ]
  491. } bind def
  492. /Strform {
  493.     /tem (x) def
  494.     tem 0
  495.     3 -1 roll
  496.     put
  497.     tem
  498. } bind def
  499. /Mshowa1 {
  500.     2 copy
  501.     add
  502.     4 1 roll
  503.     sub
  504.     mul
  505.     sub
  506.     -2 div
  507. } bind def
  508. /MathScale {
  509.     Mwidth
  510.     Mheight
  511.     Mlp
  512.     translate
  513.     scale
  514.     pop pop pop pop
  515.     /Mgmatrix
  516.     matrix currentmatrix
  517.     def
  518. } bind def
  519. /Mlp {
  520.     3 copy
  521.     Mlpfirst
  522.     {
  523.     Mnodistort
  524.     {
  525.     Mmin
  526.     dup
  527.     } if
  528.     4 index
  529.     2 index
  530.     2 index
  531.     Mlprun
  532.     11 index
  533.     11 -1 roll
  534.     10 -4 roll
  535.     Mlp1
  536.     8 index
  537.     9 -5 roll
  538.     Mlp1
  539.     4 -1 roll
  540.     and
  541.     { exit } if
  542.     3 -1 roll
  543.     pop pop
  544.     } loop
  545.     exch
  546.     3 1 roll
  547.     7 -3 roll
  548.     pop pop pop
  549. } bind def
  550. /Mlpfirst {
  551.     3 -1 roll
  552.     dup length
  553.     2 copy
  554.     -2 add
  555.     get
  556.     aload
  557.     pop pop pop
  558.     4 -2 roll
  559.     -1 add
  560.     get
  561.     aload
  562.     pop pop pop
  563.     6 -1 roll
  564.     3 -1 roll
  565.     5 -1 roll
  566.     sub
  567.     div
  568.     4 1 roll
  569.     exch sub
  570.     div
  571. } bind def
  572. /Mlprun {
  573.     2 copy
  574.     4 index
  575.     0 get
  576.     dup
  577.     4 1 roll
  578.     Mlprun1
  579.     3 copy
  580.     8 -2 roll
  581.     9 -1 roll
  582.     {
  583.     3 copy
  584.     Mlprun1
  585.     3 copy
  586.     11 -3 roll
  587.     /gt Mlpminmax
  588.     8 3 roll
  589.     11 -3 roll
  590.     /lt Mlpminmax
  591.     8 3 roll
  592.     } forall
  593.     pop pop pop pop
  594.     3 1 roll
  595.     pop pop
  596.     aload pop
  597.     5 -1 roll
  598.     aload pop
  599.     exch
  600.     6 -1 roll
  601.     Mlprun2
  602.     8 2 roll
  603.     4 -1 roll
  604.     Mlprun2
  605.     6 2 roll
  606.     3 -1 roll
  607.     Mlprun2
  608.     4 2 roll
  609.     exch
  610.     Mlprun2
  611.     6 2 roll
  612. } bind def
  613. /Mlprun1 {
  614.     aload pop
  615.     exch
  616.     6 -1 roll
  617.     5 -1 roll
  618.     mul add
  619.     4 -2 roll
  620.     mul
  621.     3 -1 roll
  622.     add
  623. } bind def
  624. /Mlprun2 {
  625.     2 copy
  626.     add 2 div
  627.     3 1 roll
  628.     exch sub
  629. } bind def
  630. /Mlpminmax {
  631.     cvx
  632.     2 index
  633.     6 index
  634.     2 index
  635.     exec
  636.     {
  637.     7 -3 roll
  638.     4 -1 roll
  639.     } if
  640.     1 index
  641.     5 index
  642.     3 -1 roll
  643.     exec
  644.     {
  645.     4 1 roll
  646.     pop
  647.     5 -1 roll
  648.     aload
  649.     pop pop
  650.     4 -1 roll
  651.     aload pop
  652.     [
  653.     8 -2 roll
  654.     pop
  655.     5 -2 roll
  656.     pop
  657.     6 -2 roll
  658.     pop
  659.     5 -1 roll
  660.     ]
  661.     4 1 roll
  662.     pop
  663.     }
  664.     {
  665.     pop pop pop
  666.     } ifelse
  667. } bind def
  668. /Mlp1 {
  669.     5 index
  670.     3 index    sub
  671.     5 index
  672.     2 index mul
  673.     1 index
  674.     le
  675.     1 index
  676.     0 le
  677.     or
  678.     dup
  679.     not
  680.     {
  681.     1 index
  682.     3 index    div
  683.     .99999 mul
  684.     8 -1 roll
  685.     pop
  686.     7 1 roll
  687.     }
  688.     if
  689.     8 -1 roll
  690.     2 div
  691.     7 -2 roll
  692.     pop sub
  693.     5 index
  694.     6 -3 roll
  695.     pop pop
  696.     mul sub
  697.     exch
  698. } bind def
  699. /intop 0 def
  700. /inrht 0 def
  701. /inflag 0 def
  702. /outflag 0 def
  703. /xadrht 0 def
  704. /xadlft 0 def
  705. /yadtop 0 def
  706. /yadbot 0 def
  707. /Minner {
  708.     outflag
  709.     1
  710.     eq
  711.     {
  712.     /outflag 0 def
  713.     /intop 0 def
  714.     /inrht 0 def
  715.     } if
  716.     5 index
  717.     gsave
  718.     Mtmatrix setmatrix
  719.     Mvboxa pop
  720.     grestore
  721.     3 -1 roll
  722.     pop
  723.     dup
  724.     intop
  725.     gt
  726.     {
  727.     /intop
  728.     exch def
  729.     }
  730.     { pop }
  731.     ifelse
  732.     dup
  733.     inrht
  734.     gt
  735.     {
  736.     /inrht
  737.     exch def
  738.     }
  739.     { pop }
  740.     ifelse
  741.     pop
  742.     /inflag
  743.     1 def
  744. } bind def
  745. /Mouter {
  746.     /xadrht 0 def
  747.     /xadlft 0 def
  748.     /yadtop 0 def
  749.     /yadbot 0 def
  750.     inflag
  751.     1 eq
  752.     {
  753.     dup
  754.     0 lt
  755.     {
  756.     dup
  757.     intop
  758.     mul
  759.     neg
  760.     /yadtop
  761.     exch def
  762.     } if
  763.     dup
  764.     0 gt
  765.     {
  766.     dup
  767.     intop
  768.     mul
  769.     /yadbot
  770.     exch def
  771.     }
  772.     if
  773.     pop
  774.     dup
  775.     0 lt
  776.     {
  777.     dup
  778.     inrht
  779.     mul
  780.     neg
  781.     /xadrht
  782.     exch def
  783.     } if
  784.     dup
  785.     0 gt
  786.     {
  787.     dup
  788.     inrht
  789.     mul
  790.     /xadlft
  791.     exch def
  792.     } if
  793.     pop
  794.     /outflag 1 def
  795.     }
  796.     { pop pop}
  797.     ifelse
  798.     /inflag 0 def
  799.     /inrht 0 def
  800.     /intop 0 def
  801. } bind def
  802. /Mboxout {
  803.     outflag
  804.     1
  805.     eq
  806.     {
  807.     4 -1
  808.     roll
  809.     xadlft
  810.     leadjust
  811.     add
  812.     sub
  813.     4 1 roll
  814.     3 -1
  815.     roll
  816.     yadbot
  817.     leadjust
  818.     add
  819.     sub
  820.     3 1
  821.     roll
  822.     exch
  823.     xadrht
  824.     leadjust
  825.     add
  826.     add
  827.     exch
  828.     yadtop
  829.     leadjust
  830.     add
  831.     add
  832.     /outflag 0 def
  833.     /xadlft 0 def
  834.     /yadbot 0 def
  835.     /xadrht 0 def
  836.     /yadtop 0 def
  837.     } if
  838. } bind def
  839. /leadjust {
  840.     (m) stringwidth pop
  841.     .5 mul
  842. } bind def
  843. /Mrotcheck {
  844.     dup
  845.     90
  846.     eq
  847.     {
  848.     yadbot
  849.     /yadbot
  850.     xadrht
  851.     def
  852.     /xadrht
  853.     yadtop
  854.     def
  855.     /yadtop
  856.     xadlft
  857.     def
  858.     /xadlft
  859.     exch
  860.     def
  861.     }
  862.     if
  863.     dup
  864.     cos
  865.     1 index
  866.     sin
  867.     Checkaux
  868.     dup
  869.     cos
  870.     1 index
  871.     sin neg
  872.     exch
  873.     Checkaux
  874.     3 1 roll
  875.     pop pop
  876. } bind def
  877. /Checkaux {
  878.     4 index
  879.     exch
  880.     4 index
  881.     mul
  882.     3 1 roll
  883.     mul add
  884.     4 1 roll
  885. } bind def
  886. /Mboxrot {
  887.     Mrot
  888.     90 eq
  889.     {
  890.     brotaux
  891.     4 2
  892.     roll
  893.     }
  894.     if
  895.     Mrot
  896.     180 eq
  897.     {
  898.     4 2
  899.         roll
  900.     brotaux
  901.     4 2
  902.     roll
  903.     brotaux
  904.     }
  905.     if
  906.     Mrot
  907.     270 eq
  908.     {
  909.     4 2
  910.     roll
  911.     brotaux
  912.     }
  913.     if
  914. } bind def
  915. /brotaux {
  916.     neg
  917.     exch
  918.     neg
  919. } bind def
  920. /Mabsproc {
  921.         0
  922.         matrix defaultmatrix
  923.         dtransform idtransform
  924.         dup mul exch
  925.         dup mul
  926.         add sqrt
  927. } bind def
  928. /Mabswid {
  929.         Mabsproc
  930.         setlinewidth
  931. } bind def
  932. /Mabsdash {
  933.         exch
  934.         [
  935.         exch
  936.         {
  937.         Mabsproc
  938.         }
  939.         forall
  940.         ]
  941.         exch
  942.         setdash
  943. } bind def
  944. /colorimage where
  945. { pop }
  946. {
  947. /colorimage {
  948. 3 1 roll
  949.  pop pop
  950.  5 -1 roll
  951.  mul
  952.  4 1 roll
  953. {
  954. currentfile
  955. 1 index
  956. readhexstring
  957. pop }
  958. image
  959. } bind def
  960. } ifelse
  961. /sampledsound where
  962. { pop}
  963. { /sampledsound {
  964. exch
  965. pop
  966. exch
  967. 5 1 roll
  968. mul
  969. 4 idiv
  970. mul
  971. 2 idiv
  972. exch pop
  973. exch
  974. /Mtempproc exch def
  975. { Mtempproc pop }
  976. repeat
  977. } bind def
  978. } ifelse
  979. % Here are the short operators
  980. /g { setgray} bind def
  981. /k { setcmykcolor} bind def
  982. /m { moveto} bind def
  983. /p { gsave} bind def
  984. /r { setrgbcolor} bind def
  985. /w { setlinewidth} bind def
  986. /C { curveto} bind def
  987. /F { fill} bind def
  988. /L { lineto} bind def
  989. /P { grestore} bind def
  990. /s { stroke} bind def
  991.  
  992. /MFill {
  993.     0 0         moveto
  994.     Mwidth 0     lineto
  995.     Mwidth Mheight     lineto
  996.     0 Mheight     lineto
  997.     fill
  998. } bind def
  999.  
  1000. /MPlotRegion {
  1001.     3 index
  1002.     Mwidth mul
  1003.     2 index
  1004.     Mheight mul
  1005.     translate
  1006.     exch sub
  1007.     Mheight mul
  1008.     /Mheight
  1009.     exch def
  1010.     exch sub
  1011.     Mwidth mul
  1012.     /Mwidth
  1013.     exch def
  1014. } bind def
  1015.  
  1016. /Mcharproc
  1017. {
  1018.       currentfile
  1019.       (x)
  1020.       readhexstring
  1021.       pop
  1022.       0 get
  1023.       exch
  1024.      div
  1025. } bind def
  1026.  
  1027. /Mshadeproc
  1028. {
  1029.     dup
  1030.     3 1
  1031.     roll
  1032.     {
  1033.     dup
  1034.     Mcharproc
  1035.     3 1
  1036.     roll
  1037.     } repeat
  1038.     1 eq
  1039.     {
  1040.     setgray
  1041.     }
  1042.     {
  1043.     3 eq
  1044.     {
  1045.     setrgbcolor
  1046.     }
  1047.     {
  1048.     setcmykcolor
  1049.     } ifelse
  1050.     } ifelse
  1051. } bind def
  1052.  
  1053. /Mrectproc
  1054. {
  1055.     3 index
  1056.     2 index
  1057.     moveto
  1058.     2 index
  1059.     3 -1
  1060.     roll
  1061.     lineto
  1062.     dup
  1063.     3 1
  1064.     roll
  1065.     lineto
  1066.     lineto
  1067.     fill
  1068. } bind def
  1069.  
  1070. /Mcolorimage
  1071. {
  1072.     7 1
  1073.     roll
  1074.     pop
  1075.     pop
  1076.     matrix
  1077.     invertmatrix
  1078.     concat
  1079.     2 exch exp
  1080.     1 sub
  1081.     3 1 roll
  1082.     1 1
  1083.     2 index
  1084.     {
  1085.     1 1
  1086.     4 index
  1087.     {
  1088.     dup
  1089.     1 sub
  1090.     exch
  1091.     2 index
  1092.     dup
  1093.     1 sub
  1094.     exch
  1095.     7 index
  1096.     9 index
  1097.     Mshadeproc
  1098.     Mrectproc
  1099.     } for
  1100.     pop
  1101.     } for
  1102.     pop pop pop pop
  1103. } bind def
  1104.  
  1105. /Mimage
  1106. {
  1107.     pop
  1108.     matrix
  1109.     invertmatrix
  1110.     concat
  1111.     2 exch exp
  1112.     1 sub
  1113.     3 1 roll
  1114.     1 1
  1115.     2 index
  1116.     {
  1117.     1 1
  1118.     4 index
  1119.     {
  1120.     dup
  1121.     1 sub 
  1122.     exch
  1123.     2 index
  1124.     dup
  1125.     1 sub
  1126.     exch
  1127.     7 index
  1128.     Mcharproc
  1129.     setgray
  1130.     Mrectproc
  1131.     } for
  1132.     pop
  1133.     } for
  1134.     pop pop pop
  1135. } bind def